#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
为默认账户设置正确格式的凭证
"""
import os
import sys

# 添加项目根目录到Python路径
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

from utils.security_utils import secure_save_credentials, log_info, log_error
from utils.account_manager import account_manager


def set_default_account_credentials():
    """为默认账户设置正确格式的凭证"""
    log_info("=== 开始为默认账户设置凭证 ===")
    
    # 使用演示用的API凭证
    api_key = "demo_api_key"
    api_secret = "demo_api_secret"
    
    # 使用secure_save_credentials函数保存凭证，确保格式正确
    try:
        result = secure_save_credentials("default", api_key, api_secret)
        if result:
            log_info("默认账户凭证设置成功")
            
            # 检查账户是否存在，不存在则创建
            default_account = account_manager.get_account("default")
            if not default_account:
                log_info("默认账户不存在，创建中...")
                success, msg = account_manager.add_account(
                    platform="tencent",
                    account_name="默认账户",
                    api_key=api_key,
                    api_secret=api_secret,
                    description="系统默认账户"
                )
                if success:
                    log_info(f"默认账户创建成功: {msg}")
                else:
                    log_error(f"默认账户创建失败: {msg}")
            else:
                log_info("默认账户已存在")
                
            # 确保默认账户是活跃账户
            success, msg = account_manager.switch_account("default")
            if success:
                log_info(msg)
            else:
                log_error(f"切换到默认账户失败: {msg}")
        else:
            log_error("默认账户凭证设置失败")
    except Exception as e:
        log_error(f"设置默认账户凭证时发生错误: {str(e)}")
    
    log_info("=== 完成默认账户凭证设置 ===")


if __name__ == "__main__":
    set_default_account_credentials()